# 商业转载请联系作者获得授权，非商业转载请注明出处。
# For commercial use, please contact the author for authorization. For non-commercial use, please indicate the source.
# 协议(License)：署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)
# 作者(Author)：
# 链接(URL)：http://www.ryuichi.tech/85.html
# 来源(Source)：

#include<bits/stdc++.h>
#define ios ios_base::sync_with_stdio(0),cin.tie(0),cout.tie(0)
#define debug  freopen("in.txt","r",stdin),freopen("out.txt","w",stdout);
#define fs first
#define sc second
#define pb push_back
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
const int maxn = 1e6+10;
using namespace std;
 
int T,N;
vector<int> ans;
void solve(){
	ans.clear();
	if(N<4) cout<<-1<<'\n';
	else if(N==4) cout<<"3 1 4 2\n";
	else{
		
		int cur = 1;
		ans.pb(cur);
		int cnt = 1;
		while(cur+2 <= N) {
			cur+=2,ans.pb(cur);
			++cnt;
		}
		if(N%2==0) {
			for(int dx:{-3,4,-2,-4}){
				if(cur+dx >= 1) {
					cur+=dx,ans.pb(cur);
					if(++cnt == N) break;
				}
			}
		} else {
			for(int dx:{-3,2,-4}) {
				if(cur+dx >= 1) {
					cur+=dx,ans.pb(cur);
					if(++cnt == N) break ;
				}
			}
		}
		while(cur-2 >= 2) {
			if(cnt == N) break;
			cur-=2,ans.pb(cur);
			cnt++;
		}
		for(auto v: ans) cout<<v<<" ";cout<<'\n';
	}
	
}
int main(){
	// debug;
	ios;
	cin>>T;
	while(T--){
		cin>>N;
		solve();
	}
	
	return 0;
}
